#ifndef UUID_143F261D00064F70EAA8A68CBE0385C7
#define UUID_143F261D00064F70EAA8A68CBE0385C7

#include "../gvl/support/platform.hpp"

#ifdef __cplusplus
extern "C" {
#endif

typedef struct flip_texture_
{
	unsigned id;
	unsigned width, height;
} flip_texture;

flip_texture flip_create_texture(unsigned width, unsigned height);

void flip_destroy_texture(flip_texture self);

GVL_INLINE int flip_texture_is_valid(flip_texture self)
{ return self.id != 0; }

void flip_texture_upload_subimage(flip_texture self, unsigned x, unsigned y, unsigned w, unsigned h, void const* pixels);

#ifdef __cplusplus
} // extern "C"
#endif

#endif // UUID_143F261D00064F70EAA8A68CBE0385C7
